Network Load Balancer (NLB) で TCP idle timeout の変更を試してみた
2024年9月3日のアップデートで、AWS Network Load Balancer (NLB) の TCP アイドルタイムアウト(TCP idle timeout) 、60秒から6000秒の範囲で変更可能となりました。
今回、GUI(EC2 ダッシュボード)で、TCP アイドルタイムアウトの変更を試みる機会がありましたので紹介します。
NLB設定
詳細
- 「リスナー」を選択します。
- プロトコル「TCP」または「TCP_UDP」のリスナーで、「属性」として TCP アイドルタイムアウトの編集が可能になりました。
リスナー属性を編集
TCPアイドルタイムアウト、デフォルト値は従来通り350秒。
今回、60〜6000秒の範囲で変更が可能なりました。
最長100分(6000秒)の設定が可能になりました。
まとめ
従来の NLB アイドルタイムアウトは 350秒で固定されており、無通信状態での切断を回避するためには、KeepAlive の実装が必要でした。
TCP フローのアイドルタイムアウト値を 350 秒に設定します。この値は変更できません。クライアントまたはターゲットは TCP キープアライブパケットを使用して、アイドルタイムアウトをリセットできます。TLS 接続を維持するために送信されるキープアライブパケットには、データまたはペイロードを含めることはできません。
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/network/network-load-balancers.html
今回のアップデートにより、NLB の設定でアイドルタイムアウト時間の延長が可能となりました。
通知など双方向通信の実現のため gRPC を採用していたり、長時間のセッションを要するワークロードでは、今回のアップデートが有効に活用できる可能性がありますので、ぜひお試しください。
参考リンク